Quais os principais termos da linguagem C# e do .net?
dicionário técnico c sharp e dot net
Veja abaixo os principais termos e os significados usados em C# e .net.
Essa é uma excelente forma de aprender, pois as palavras reservadas são os alicerces da linguagem. A lista completa tem 79 termos, o que pode ser demais para assimilar de uma vez. A melhor abordagem é focar nos mais essenciais, aqueles que você vai ver e usar todos os dias.
Para te ajudar, preparei um dicionário com os 25 termos mais fundamentais de C#. Eles cobrem desde a criação de classes e variáveis até o controle de fluxo de um programa.
Dicionário de Palavras-Chave Essenciais em C#
Termo:
public
Significado Literal: Público
Funcionalidade e Aplicação: É um modificador de acesso. Indica que um tipo (como uma classe) ou um membro (como uma variável ou método) é acessível de qualquer lugar, ou seja, de dentro e de fora da classe ou do projeto. Use quando precisar expor funcionalidades para outros trechos do seu código.
Termo:
private
Significado Literal: Privado
Funcionalidade e Aplicação: É o oposto de
public
. Indica que o membro só pode ser acessado de dentro da própria classe onde foi declarado. Use para proteger dados e métodos que são de uso interno da classe.
Termo:
class
Significado Literal: Classe
Funcionalidade e Aplicação: É a planta de um objeto. Define a estrutura (propriedades e métodos) que um objeto terá. Use para criar um novo tipo de dado ou para organizar seu código em blocos lógicos.
Termo:
new
Significado Literal: Novo
Funcionalidade e Aplicação: É usado para criar uma nova instância (um novo objeto) de uma classe. Use sempre que precisar criar um objeto a partir de uma classe, como
new MinhaClasse()
.
Termo:
int
Significado Literal: Inteiro
Funcionalidade e Aplicação: Define um tipo de dado que armazena números inteiros (sem casas decimais), como 1, 100, -50. Use para contar itens, armazenar IDs, etc.
Termo:
string
Significado Literal: Sequência de Caracteres
Funcionalidade e Aplicação: Armazena texto. Uma
string
é uma sequência de caracteres alfanuméricos entre aspas duplas, como"Olá, Mundo!"
. Use para guardar nomes, endereços, mensagens, etc.
Termo:
bool
Significado Literal: Booleano
Funcionalidade e Aplicação: Um tipo de dado que só pode ter dois valores:
true
(verdadeiro) oufalse
(falso). Use para verificar condições, comoif (éVerdadeiro)
.
Termo:
if
Significado Literal: Se
Funcionalidade e Aplicação: Executa um bloco de código se uma condição for verdadeira. Use para criar lógica condicional, como
if (idade > 18)
.
Termo:
else
Significado Literal: Senão
Funcionalidade e Aplicação: É usado junto com o
if
. Executa um bloco de código senão a condição doif
for falsa.
Termo:
for
Significado Literal: Para
Funcionalidade e Aplicação: Cria um loop que se repete um número específico de vezes. É ideal para quando você sabe a quantidade de repetições. Use para percorrer uma sequência de 1 a 10, por exemplo.
Termo:
while
Significado Literal: Enquanto
Funcionalidade e Aplicação: Cria um loop que continua enquanto uma condição for verdadeira. Use quando você não sabe quantas repetições serão necessárias, como
while (temItemsNaLista)
.
Termo:
foreach
Significado Literal: Para cada
Funcionalidade e Aplicação: É uma forma simplificada de loop que itera sobre cada item em uma coleção (lista, array, etc.). Use para ler todos os itens de uma lista sem se preocupar com índices.
Termo:
switch
Significado Literal: Alternar, Mudar
Funcionalidade e Aplicação: Oferece uma alternativa ao uso de múltiplos
if/else if
. Avalia uma expressão e executa um bloco de código baseado em um dos vários valores possíveis.
Termo:
case
Significado Literal: Caso
Funcionalidade e Aplicação: Define um dos possíveis valores dentro de uma estrutura
switch
. Use para especificar o que fazer para cada valor possível, comocase 1:
.
Termo:
break
Significado Literal: Quebrar
Funcionalidade e Aplicação: Força a saída de um loop (
for
,while
,foreach
) ou de uma estruturaswitch
. Use para interromper a execução de forma antecipada.
Termo:
continue
Significado Literal: Continuar
Funcionalidade e Aplicação: Pula a iteração atual de um loop e avança para a próxima. Use quando quiser ignorar uma parte da lógica para um item específico e passar para o próximo.
Termo:
return
Significado Literal: Retornar
Funcionalidade e Aplicação: Interrompe a execução de um método e, opcionalmente, retorna um valor. Use no final de um método que deve devolver um resultado, como a soma de dois números.
Termo:
void
Significado Literal: Vazio
Funcionalidade e Aplicação: Usado na declaração de métodos para indicar que ele não retorna nenhum valor. Use para métodos que apenas executam uma ação, como imprimir algo na tela.
Termo:
static
Significado Literal: Estático
Funcionalidade e Aplicação: Indica que um membro pertence à própria classe, e não a uma instância específica do objeto. Você pode acessá-lo diretamente pela classe, sem precisar criar um objeto com
new
. Use para criar métodos de utilidade ou propriedades que não dependem do estado de um objeto, comoMath.Min()
.
Termo:
using
Significado Literal: Usando
Funcionalidade e Aplicação: Tem duas funções principais: a mais comum é para importar "namespaces" (grupos de classes) para que você possa usar as classes de forma mais fácil. A outra é para garantir que um recurso (como uma conexão de banco de dados) seja descartado corretamente.
Termo:
var
Significado Literal: Variável (abreviação)
Funcionalidade e Aplicação: É uma palavra-chave para declarar uma variável sem ter que especificar o tipo explicitamente. O compilador do C# deduz o tipo para você. Use para simplificar a escrita do código, como
var nome = "João";
.
Termo:
const
Significado Literal: Constante
Funcionalidade e Aplicação: Declara uma variável cujo valor não pode ser alterado depois de inicializado. Use para valores que não mudam, como um número PI ou uma taxa fixa.
Termo:
this
Significado Literal: Este, Isto
Funcionalidade e Aplicação: Refere-se à instância atual da classe. Use para diferenciar um parâmetro de método de uma variável da classe que tem o mesmo nome.
Termo:
null
Significado Literal: Nulo
Funcionalidade e Aplicação: Um valor especial que indica que uma variável de referência não aponta para nenhum objeto. Use para inicializar uma variável que não tem um valor definido ainda.
Termo:
string
Significado Literal: Cadeia de caracteres
Funcionalidade e Aplicação: É um tipo de dado que representa texto. Use para armazenar nomes, endereços ou qualquer outro tipo de informação textual.
Com esse dicionário, você já tem uma base sólida para entender a grande maioria do código C#. Se precisar de mais termos ou de um aprofundamento em algum deles, é só me dizer!
Dicionário de Palavras-Chave de C# (As Mais Avançadas)
Modificadores de Acesso e Herança
Termo:
internal
Significado Literal: Interno
Funcionalidade: O tipo ou membro é acessível de qualquer lugar dentro do mesmo assembly (ou projeto), mas não de fora dele. Uso: Para componentes de uma biblioteca interna que não devem ser expostos a outros projetos.
Termo:
protected
Significado Literal: Protegido
Funcionalidade: O membro só pode ser acessado na classe em que foi declarado e em classes que herdam dela. Uso: Para membros que precisam ser compartilhados com classes filhas, mas não com o mundo exterior.
Termo:
sealed
Significado Literal: Selado, Lacrado
Funcionalidade: Impede que outras classes herdem desta classe. Uso: Quando você quer ter certeza de que uma classe não será modificada ou estendida.
Termo:
override
Significado Literal: Sobrescrever
Funcionalidade: Usado para modificar a implementação de um método ou propriedade herdado de uma classe base. Uso: Quando a classe filha precisa de uma versão própria de um método que existe na classe pai.
Termo:
virtual
Significado Literal: Virtual
Funcionalidade: Permite que um método em uma classe base seja sobrescrito em uma classe derivada. Uso: Usado em conjunto com
override
para permitir polimorfismo.
Termo:
abstract
Significado Literal: Abstrato
Funcionalidade: Indica que uma classe ou método não tem implementação completa e deve ser implementado por uma classe derivada. Uso: Para criar um modelo que as classes filhas devem seguir.
Termo:
base
Significado Literal: Base
Funcionalidade: Refere-se à classe pai. Uso: Para acessar membros de uma classe base a partir de uma classe derivada.
Termo:
interface
Significado Literal: Interface
Funcionalidade: Define um contrato com um conjunto de métodos e propriedades que uma classe deve implementar. Uso: Para garantir que múltiplas classes compartilhem uma funcionalidade em comum.
Tipos de Dados e Estruturas
Termo:
byte
,sbyte
,short
,ushort
,long
,ulong
Significado Literal: Tipos numéricos
Funcionalidade: Representam números inteiros de diferentes tamanhos e com ou sem sinal. Uso: Para otimizar o uso de memória em situações específicas, como arrays grandes ou dados de baixo nível.
Termo:
float
,decimal
Significado Literal: Tipos de ponto flutuante
Funcionalidade: Representam números com casas decimais.
float
tem menos precisão;decimal
é ideal para cálculos financeiros. Uso: Para preços, cálculos científicos, etc.
Termo:
char
Significado Literal: Caractere
Funcionalidade: Armazena um único caractere Unicode. Uso: Para trabalhar com um único caractere, como
'a'
.
Termo:
enum
Significado Literal: Enumeração
Funcionalidade: Declara um conjunto de constantes nomeadas. Uso: Para tornar o código mais legível e seguro, por exemplo,
enum DiasDaSemana { Segunda, Terça }
.
Termo:
struct
Significado Literal: Estrutura
Funcionalidade: Um tipo de valor (value type). Usado para encapsular pequenos grupos de variáveis. Uso: Para tipos de dados simples e leves, como um ponto 2D.
Termo:
object
Significado Literal: Objeto
Funcionalidade: O tipo base para todos os outros tipos no .NET. Pode armazenar qualquer valor. Uso: Em métodos que precisam aceitar qualquer tipo de dado.
Tratamento de Exceções
Termo:
try
Significado Literal: Tentar
Funcionalidade: Define um bloco de código onde exceções podem ocorrer.
Termo:
catch
Significado Literal: Capturar
Funcionalidade: Executa um bloco de código se uma exceção for lançada dentro do bloco
try
.
Termo:
finally
Significado Literal: Finalmente
Funcionalidade: Executa um bloco de código independentemente de uma exceção ter ocorrido ou não. Uso: Para limpar recursos, como fechar arquivos ou conexões.
Termo:
throw
Significado Literal: Lançar
Funcionalidade: Lança uma exceção. Uso: Para indicar que um erro ocorreu e que ele deve ser tratado em um bloco
catch
.
Programação Assíncrona e Fluxo de Código
Termo:
async
Significado Literal: Assíncrono
Funcionalidade: Declara que um método pode ser executado de forma assíncrona. Uso: Com o
await
para não travar a aplicação em operações longas (como requisições web).
Termo:
await
Significado Literal: Aguardar
Funcionalidade: Pausa a execução de um método
async
até que uma tarefa seja concluída.
Termo:
goto
Significado Literal: Ir para
Funcionalidade: Transfere o controle do programa para um ponto específico. Uso: Raríssimo, pois pode dificultar a leitura do código. Geralmente é evitado.
Ponteiros e Código Não Seguro
Termo:
unsafe
Significado Literal: Não seguro
Funcionalidade: Indica um bloco de código que pode usar ponteiros e outras operações que não são seguras por padrão. Uso: Para interagir com código de baixo nível (como C/C++).
Termo:
fixed
Significado Literal: Fixo
Funcionalidade: Usado em um bloco
unsafe
para fixar um ponteiro para um objeto na memória para evitar que o "garbage collector" o mova.
Termo:
stackalloc
Significado Literal: Alocação de pilha
Funcionalidade: Aloca memória na pilha. Uso: Para criar arrays muito pequenos e temporários de forma muito rápida.
Palavras-Chave LINQ (Consultas de Dados)
Termo:
from
,where
,select
,orderby
,join
Significado Literal: De, Onde, Selecionar, Ordenar por, Juntar
Funcionalidade: Usadas para construir consultas de dados em coleções (LINQ). Uso: Para buscar, filtrar e ordenar dados de forma declarativa e expressiva.
Outras Palavras-Chave
Termo:
event
Significado Literal: Evento
Funcionalidade: Declara um evento em uma classe. Uso: Para notificar outras classes quando algo importante acontece.
Termo:
delegate
Significado Literal: Delegado
Funcionalidade: Define um tipo de referência que pode encapsular métodos com uma assinatura específica. Uso: Para implementar "callbacks" ou para a programação de eventos.
Termo:
is
,as
Significado Literal: É, Como
Funcionalidade: Usados para verificar o tipo de um objeto (
is
) ou para tentar converter um objeto para outro tipo (as
).
Termo:
namespace
Significado Literal: Espaço de nome
Funcionalidade: Um contêiner que organiza as classes. Uso: Para evitar conflitos de nomes em projetos grandes.
Com essa lista, você tem todas as 79 palavras reservadas do C#!
A seguir, um dicionário com os termos e classes mais usados no dia a dia de um desenvolvedor .NET, divididos por categorias.
Conceitos e Ferramentas Fundamentais
Termo: Namespace
Significado Literal: Espaço de Nome
Funcionalidade e Aplicação: É um contêiner que organiza classes, interfaces e outros tipos, evitando conflitos de nomes. Exemplo: A classe
List<T>
está no namespaceSystem.Collections.Generic
. Você usa a palavra-chaveusing
para importar um namespace.
Termo: Assembly
Significado Literal: Montagem
Funcionalidade e Aplicação: É a unidade de implantação e versionamento do .NET. É o arquivo compilado (.dll ou .exe) que contém o código intermediário (IL), metadados e outros recursos. Exemplo: Quando você compila seu projeto, ele se transforma em um assembly.
Termo: NuGet
Significado Literal: — (Não tem tradução direta)
Funcionalidade e Aplicação: É o gerenciador de pacotes oficial do .NET. Permite adicionar, remover e atualizar bibliotecas de terceiros (como pacotes para bancos de dados, frameworks web, etc.) em seus projetos de forma automatizada. Exemplo: Você usa o NuGet para instalar a biblioteca
Newtonsoft.Json
.
Termo: Garbage Collector (GC)
Significado Literal: Coletor de Lixo
Funcionalidade e Aplicação: É um sistema automático do .NET que gerencia a memória do seu programa. Ele identifica e libera a memória usada por objetos que não estão mais em uso. Exemplo: Você cria um objeto, mas não se preocupa em desalocar a memória manualmente; o GC faz isso por você.
Estruturas de Dados Essenciais
Termo: List<T>
Significado Literal: Lista
Funcionalidade e Aplicação: Uma lista dinâmica, que cresce ou diminui de tamanho automaticamente. É o tipo de coleção mais usado para armazenar um conjunto de elementos. Exemplo:
List<string> nomes = new List<string>();
.
Termo: Dictionary<TKey, TValue>
Significado Literal: Dicionário
Funcionalidade e Aplicação: Uma coleção de pares de chave e valor. Permite que você acesse um valor de forma muito rápida usando uma chave. Exemplo:
Dictionary<int, string> codigoPostal = new Dictionary<int, string>();
.
Termo: Array
Significado Literal: Matriz, Arranjo
Funcionalidade e Aplicação: Uma coleção de tamanho fixo, que armazena elementos do mesmo tipo. Exemplo:
int[] numeros = new int[10];
.
Classes para I/O (Entrada e Saída)
Termo: System.IO.File
Significado Literal: Arquivo
Funcionalidade e Aplicação: Fornece métodos estáticos para criar, abrir, ler, escrever e gerenciar arquivos no sistema de arquivos. Exemplo:
File.ReadAllText("caminho/arquivo.txt");
.
Termo: System.IO.Directory
Significado Literal: Diretório
Funcionalidade e Aplicação: Fornece métodos estáticos para criar, excluir e gerenciar diretórios (pastas). Exemplo:
Directory.CreateDirectory("novaPasta");
.
Classes para Web e Assincronia
Termo: HttpClient
Significado Literal: Cliente HTTP
Funcionalidade e Aplicação: Usado para enviar e receber requisições HTTP para a internet. É a classe padrão para consumir APIs web. Exemplo:
await client.GetAsync("https://api.site.com");
.
Termo: Task
Significado Literal: Tarefa
Funcionalidade e Aplicação: Representa uma operação assíncrona que pode ser executada em segundo plano. Exemplo: Usado com
async
eawait
para realizar operações sem travar a interface do usuário.Task.Run(() => ...);
.
Termo: StringBuilder
Significado Literal: Construtor de String
Funcionalidade e Aplicação: Uma classe otimizada para manipular strings, especialmente quando você precisa concatenar (juntar) muitas strings em um loop. É mais eficiente que usar o operador
+
. Exemplo:StringBuilder sb = new StringBuilder(); sb.Append("Olá, ");
.
Esses são alguns dos pilares do .NET. Conhecê-los em profundidade vai abrir muitas portas e facilitar a leitura e escrita de código. Se precisar de mais detalhes sobre algum deles, é só me dizer.
Termos de Web Development (ASP.NET Core)
Termo: ASP.NET Core
Significado Literal: — (Não tem tradução direta, é um nome próprio)
Funcionalidade e Aplicação: É um framework de código aberto para construir aplicações web, serviços de API e microsserviços. É a base para criar sites e APIs modernas.
Termo: Controller
Significado Literal: Controlador
Funcionalidade e Aplicação: Uma classe que gerencia as requisições HTTP em uma aplicação web. O controlador recebe a requisição, processa a lógica de negócio e retorna uma resposta.
Termo: Action
Significado Literal: Ação
Funcionalidade e Aplicação: É um método dentro de um Controller que executa uma ação específica em resposta a uma requisição. Exemplo: O método
Index()
em umHomeController
é uma Action.
Termo: View
Significado Literal: Visualização
Funcionalidade e Aplicação: Uma página HTML renderizada que exibe a interface de usuário de uma aplicação web. A View exibe os dados fornecidos pelo Controller.
Termo: Entity Framework
Significado Literal: — (Não tem tradução direta)
Funcionalidade e Aplicação: Um framework de mapeamento objeto-relacional (ORM) que permite trabalhar com bancos de dados usando objetos C#, sem precisar escrever comandos SQL.
Termos de Qualidade e Testes
Termo: Unit Test
Significado Literal: Teste de Unidade
Funcionalidade e Aplicação: Um teste automatizado que verifica a funcionalidade de uma pequena parte do seu código, geralmente um único método ou classe. Uso: Para garantir que seu código se comporta como esperado e para evitar regressões (erros que voltam a ocorrer).
Termo: xUnit / NUnit
Significado Literal: — (Não tem tradução direta, são nomes próprios)
Funcionalidade e Aplicação: São frameworks de teste populares para C#. Eles fornecem as ferramentas necessárias para escrever e executar seus Unit Tests.
Conceitos e Padrões de Design
Termo: Dependency Injection (DI)
Significado Literal: Injeção de Dependência
Funcionalidade e Aplicação: Um padrão de design que permite que um objeto receba seus "dependências" (outros objetos de que ele precisa para funcionar) de forma externa, em vez de criá-las por conta própria. Uso: Aumenta a flexibilidade, a manutenibilidade e a testabilidade do código.
Termo: Generic
Significado Literal: Genérico
Funcionalidade e Aplicação: Permite criar classes, métodos e interfaces que funcionam com qualquer tipo de dado, sem ter que especificar o tipo antecipadamente. Exemplo: A classe
List<T>
, onde oT
é um tipo genérico.
Termo: Interface
Significado Literal: Interface
Funcionalidade e Aplicação: Define um "contrato" com um conjunto de membros que uma classe deve implementar. Uso: Promove a flexibilidade e o polimorfismo, garantindo que diferentes classes que implementam a mesma interface tenham os mesmos métodos e propriedades.
Com esses termos, você já tem uma visão completa e aprofundada do que é o ecossistema .NET.
Leia mais em: otnet.microsoft.com/en-us/lan...